Systems and methods for performing location based actions

ABSTRACT

The present application discloses systems and methods for performing location-based actions. The methods may include obtaining, by an electronic device, location information associated with the electronic device with respect to a reference location. The methods may further include determining, by the electronic device, whether the location information changes from a first status to a second status. The methods may further include performing, by the electronic device, a predetermined action upon determining that the location information changes from the first status to the second status. The location information may relate to a speed, a direction, an acceleration, a geographic location of the electronic device, and/or a distance between the electronic device and the reference location.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/566,470, filed on Oct. 13, 2017, which is a U.S. national stage under35 U.S.C. § 371 of International Application No. PCT/CN2017/084337,filed on May 15, 2017, which claims priority to Chinese Application No.201611042989.8 filed on Nov. 21, 2016, Chinese Application No.201611132328.4 filed on Dec. 9, 2016, Chinese Application No.201710048352.8 filed on Jan. 20, 2017, the contents of which areincorporated herein by reference.

TECHNICAL FIELD

The present disclosure generally relates to systems and methods forperforming actions, and more particularly, to systems and methods forperforming location-based actions on a mobile terminal for an on-demandservice.

BACKGROUND

With the development of Internet technology, on-demand services, such asonline taxi hailing services and delivery services, have become more andmore popular. Conventionally, a service provider may have to spend timeand energy to identify an unfamiliarly target (e.g., a location of aservice requester or the service requester him/her self). Thus, it maybe desirable to develop systems and methods that provide a reminder forthe service provider to identify the target quickly and efficiently.

SUMMARY

According to an aspect of the present disclosure, a system may includean electronic device. The electronic device may include at least onestorage medium and at least one processor configured to communicate withthe at least one storage medium. The storage medium may include a set ofinstructions for switching operation mode based on status change. Whenthe processor executing the set of instructions, the processor may bedirected to perform one or more of the following operations. Theprocessor may obtain location information associated with the electronicdevice with respect to a reference location. The processor may determinewhether the location information changes from a first status to a secondstatus. Upon determining that the location information changes from thefirst status to the second status, the processor may perform apredetermined action.

In some embodiments, the location information may include a distancebetween the electronic device and the reference location. The firststatus may include the distance being longer than a threshold distance.The second status may include the distance being shorter than thethreshold distance.

In some embodiments, the location information may include a distancebetween the electronic device and the reference location. The firststatus may include the distance being shorter than a threshold distance.The second status may include the distance being longer than thethreshold distance.

In some embodiments, the location information may include a speed of theelectronic device. The first status may include the speed being shorterthan a threshold speed. The second status may include the speed beingfaster than the threshold speed.

In some embodiments, the location information may include a speed of theelectronic device. The first status may include the speed being fasterthan a threshold speed. The second status may include the speed beingshorter than the threshold speed.

In some embodiments, the processor may further display a map under aperspective view. The predetermined action may include changing fromdisplaying the map under the perspective view to displaying the mapunder a plan view.

In some embodiments, the processor may further display a map under aperspective view. The predetermined action may include obtainingrecommendation information around the reference location, and displayingand/or highlighting the recommendation information on the map.

In some embodiments, the processor may further generate a vibration, alight, or a sound. The predetermined action may include changingstrength and/or frequency of the vibration, the light or the sound.

According to a further aspect of the present disclosure, a method mayinclude one or more of the following operations. An electronic devicemay obtain location information associated with the electronic devicewith respect to a reference location. The electronic device maydetermine whether the location information changes from a first statusto a second status. Upon determining that the location informationchanges from the first status to the second status, the electronicdevice may perform a predetermined action.

According to another aspect of the present disclosure, a non-transitorymachine-readable storage medium may include instructions. When thenon-transitory machine-readable storage medium is accessed by anelectronic device, the instructions may direct the electronic device toperform one or more of the following operations. The instructions maycause the electronic device to obtain location information associatedwith the electronic device with respect to a reference location. Theinstructions may cause the electronic device to determine whether thelocation information changes from a first status to a second status.Upon determining that the location information changes from the firststatus to the second status, the instructions may cause the electronicdevice to perform a predetermined action.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is further described in terms of exemplaryembodiments. These exemplary embodiments are described in detail withreference to the drawings. These embodiments are non-limiting exemplaryembodiments, in which like reference numerals represent similarstructures throughout the several views of the drawings, and wherein:

FIG. 1 is a block diagram of an exemplary online on-demand servicesystem 100 according to some embodiments of the present disclosure;

FIG. 2 is a schematic diagram illustrating exemplary hardware andsoftware components of a computing device 200 according to someembodiments of the present disclosure;

FIG. 3 is a schematic diagram illustrating exemplary hardware and/orsoftware components of an exemplary mobile device 300 according toembodiments of the present disclosure;

FIG. 4 is a flowchart illustrating an exemplary process for performing alocation-based action according to some embodiments of the presentdisclosure;

FIG. 5 is a flowchart illustrating an exemplary process for performing alocation-based action according to some embodiments of the presentdisclosure;

FIG. 6 is a flowchart illustrating an exemplary process for performing alocation-based action according to some embodiments of the presentdisclosure;

FIG. 7 is a flowchart illustrating an exemplary process for performing alocation-based action according to some embodiments of the presentdisclosure;

FIG. 8 is a flowchart illustrating an exemplary process for providing anotification based on location information of a terminal according tosome embodiments of the present disclosure; and

FIG. 9 is a flowchart illustrating an exemplary process for displayingrecommendation information on the terminal according to some embodimentsof the present disclosure.

FIG. 10 is a schematic diagram for determining a location-based statusaccording to some embodiments of the present disclosure.

DETAILED DESCRIPTION

The following description is presented to enable any person skilled inthe art to make and use the present disclosure, and is provided in thecontext of a particular application and its requirements. Variousmodifications to the disclosed embodiments will be readily apparent tothose skilled in the art, and the general principles defined herein maybe applied to other embodiments and applications without departing fromthe spirit and scope of the present disclosure. Thus, the presentdisclosure is not limited to the embodiments shown, but is to beaccorded the widest scope consistent with the claims.

The terminology used herein is for the purpose of describing particularexample embodiments only and is not intended to be limiting. As usedherein, the singular forms “a,” “an,” and “the” may be intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprise,”“comprises,” and/or “comprising,” “include,” “includes,” and/or“including,” when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

These and other features, and characteristics of the present disclosure,as well as the methods of operation and functions of the relatedelements of structure and the combination of parts and economies ofmanufacture, may become more apparent upon consideration of thefollowing description with reference to the accompanying drawings, allof which form a part of this disclosure. It is to be expresslyunderstood, however, that the drawings are for the purpose ofillustration and description only and are not intended to limit thescope of the present disclosure. It is understood that the drawings arenot to scale.

The flowcharts used in the present disclosure illustrate operations thatsystems implement according to some embodiments in the presentdisclosure. It is to be expressly understood, the operations of theflowchart may be implemented not in order. Conversely, the operationsmay be implemented in inverted order, or simultaneously. Moreover, oneor more other operations may be added to the flowcharts. One or moreoperations may be removed from the flowcharts.

Moreover, while the system and method in the present disclosure isdescribed primarily in regard to allocate a set of sharable orders, itshould also be understood that this is only one exemplary embodiment.The system or method of the present disclosure may be applied to anyother kind of on demand service. For example, the system or method ofthe present disclosure may be applied to transportation systems ofdifferent environments including land, ocean, aerospace, or the like, orany combination thereof. The vehicle of the transportation systems mayinclude a taxi, a private car, a hitch, a bus, a train, a bullet train,a high speed rail, a subway, a vessel, an aircraft, a spaceship, ahot-air balloon, a driverless vehicle, or the like, or any combinationthereof. The transportation system may also include any transportationsystem for management and/or distribution, for example, a system forsending and/or receiving an express. The application of the system ormethod of the present disclosure may include a webpage, a plug-in of abrowser, a client terminal, a custom system, an internal analysissystem, an artificial intelligence robot, or the like, or anycombination thereof.

The term “passenger,” “requester,” “requestor,” “service requester,”“service requestor” and “customer” in the present disclosure are usedinterchangeably to refer to an individual, an entity or a tool that mayrequest or order a service. Also, the term “driver,” “provider,”“service provider,” and “supplier” in the present disclosure are usedinterchangeably to refer to an individual, an entity or a tool that mayprovide a service or facilitate the providing of the service. The term“user” in the present disclosure may refer to an individual, an entityor a tool that may request a service, order a service, provide aservice, or facilitate the providing of the service. For example, theuser may be a passenger, a driver, an operator, or the like, or anycombination thereof. In the present disclosure, “passenger” and“passenger terminal” may be used interchangeably, and “driver” and“driver terminal” may be used interchangeably.

The term “request,” “service,” “service request,” and “order” in thepresent disclosure are used interchangeably to refer to a request thatmay be initiated by a passenger, a requester, a service requester, acustomer, a driver, a provider, a service provider, a supplier, or thelike, or any combination thereof. The service request may be accepted byany one of a passenger, a requester, a service requester, a customer, adriver, a provider, a service provider, or a supplier. The servicerequest may be chargeable or free.

The positioning technology used in the present disclosure may be basedon a global positioning system (GPS), a global navigation satellitesystem (GLONASS), a compass navigation system (COMPASS), a Galileopositioning system, a quasi-zenith satellite system (QZSS), a wirelessfidelity (WiFi) positioning technology, or the like, or any combinationthereof. One or more of the above positioning systems may be usedinterchangeably in the present disclosure.

An aspect of the present disclosure relates to methods of an electronicdevice to switch operation mode based on status thereof. For example,when the electronic device, such as a smartphone with GPS capability, isdisplaying a real-time map when it is moving towards a destination, theelectronic device may switch displaying the map from a plan view to aperspective view when it is less than 50 meters away from thedestination, and then switch back to the plan view when it is movingaway and more than 10 meters from the destination. In addition to thedistance, the electronic device may also change the view of the mapbased on its speed, or perform different functions, such as makingdifferent sounds when the said distance and/or speed changes over athreshold value,

One of the purpose of the above method is to provide a better reminderfor a driver (e.g., a taxi driver) to identify an unfamiliar target(e.g., a building to pick up a passenger or the passenger him/her self)when he/she approaches a destination. The problem raises, and thetechnical solution introduced herein roots in the application of GPSsystem, a system appeared in post-Internet era.

FIG. 1 is a block diagram of an exemplary online on-demand servicesystem 100 according to some embodiments of the present disclosure. Forexample, the online on-demand service system 100 may be an onlineon-demand service platform for on-demand services such as taxi hailingservice, goods delivery service, chauffeur service, express car service,carpool service, bus service, short-term driver-renting service, andshuttle service. The online on-demand service system 100 may be anonline platform including a server 110, a network 120, a requesterterminal 130, a provider terminal 140, and a database 150. The server110 may include a processing engine 112.

In some embodiments, the server 110 may be a single server, or a servergroup. The server group may be centralized, or distributed (e.g., server110 may be a distributed system). In some embodiments, the server 110may be local or remote. For example, the server 110 may accessinformation and/or data stored in the requester terminal 130, theprovider terminal 140, and/or the database 150 via the network 120. Asanother example, the server 110 may be directly connected to therequester terminal 130, the provider terminal 140, and/or the database150 to access stored information and/or data. In some embodiments, theserver 110 may be implemented on a cloud platform. Merely by way ofexample, the cloud platform may include a private cloud, a public cloud,a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud,a multi-cloud, or the like, or any combination thereof. In someembodiments, the server 110 may be implemented on a computing device 200having one or more components illustrated in FIG. 2 in the presentdisclosure.

In some embodiments, the server 110 may include a processing engine 112.The processing engine 112 may process information and/or data relatingto the service request to perform one or more functions described in thepresent disclosure. For example, the processing engine 112 may collectinformation of a plurality of historical on-demand services, anddetermine a currently recommended service location. In some embodiments,the processing engine 112 may include one or more processing engines(e.g., single-core processing engine(s) or multi-core processor(s)).Merely by way of example, the processing engine 112 may include acentral processing unit (CPU), an application-specific integratedcircuit (ASIC), an application-specific instruction-set processor(ASIP), a graphics processing unit (GPU), a physics processing unit(PPU), a digital signal processor (DSP), a field programmable gate array(FPGA), a programmable logic device (PLD), a controller, amicrocontroller unit, a reduced instruction-set computer (RISC), amicroprocessor, or the like, or any combination thereof.

The network 120 may facilitate exchange of information and/or data. Insome embodiments, one or more components in the online on-demand servicesystem 100 (e.g., the server 110, the requester terminal 130, theprovider terminal 140, and the database 150) may send information and/ordata to other component(s) in the online on-demand service system 100via the network 120. For example, the server 110 may obtain/acquireservice request from the requester terminal 130 via the network 120. Insome embodiments, the network 120 may be any type of wired or wirelessnetwork, or combination thereof. Merely by way of example, the network130 may include a cable network, a wireline network, an optical fibernetwork, a tele communications network, an intranet, an Internet, alocal area network (LAN), a wide area network (WAN), a wireless localarea network (WLAN), a metropolitan area network (MAN), a wide areanetwork (WAN), a public telephone switched network (PSTN), a Bluetoothnetwork, a ZigBee network, a near field communication (NFC) network, orthe like, or any combination thereof. In some embodiments, the network120 may include one or more network access points. For example, thenetwork 120 may include wired or wireless network access points such asbase stations and/or internet exchange points 120-1, 120-2, . . . ,through which one or more components of the online on-demand servicesystem 100 may be connected to the network 120 to exchange data and/orinformation.

In some embodiments, a requester may be a user of the requester terminal130. In some embodiments, the user of the requester terminal 130 may besomeone other than the requester. For example, a user A of the requesterterminal 130 may use the requester terminal 130 to send a servicerequest for a user B, or receive service and/or information orinstructions from the server 110. In some embodiments, a provider may bea user of the provider terminal 140. In some embodiments, the user ofthe provider terminal 140 may be someone other than the provider. Forexample, a user C of the provider terminal 140 may user the providerterminal 140 to receive a service request for a user D, and/orinformation or instructions from the server 110. In some embodiments,“requester” and “requester terminal” may be used interchangeably, and“provider” and “provider terminal” may be used interchangeably.

In some embodiments, the requester terminal 130 may include a mobiledevice 130-1, a tablet computer 130-2, a laptop computer 130-3, abuilt-in device in a motor vehicle 130-4, or the like, or anycombination thereof. In some embodiments, the mobile device 130-1 mayinclude a smart home device, a wearable device, a smart mobile device, avirtual reality device, an augmented reality device, or the like, or anycombination thereof. In some embodiments, the smart home device mayinclude a smart lighting device, a control device of an intelligentelectrical apparatus, a smart monitoring device, a smart television, asmart video camera, an interphone, or the like, or any combinationthereof. In some embodiments, the wearable device may include a smartbracelet, a smart footgear, a smart glass, a smart helmet, a smartwatch, a smart clothing, a smart backpack, a smart accessory, or thelike, or any combination thereof. In some embodiments, the smart mobiledevice may include a smartphone, a personal digital assistance (PDA), agaming device, a navigation device, a point of sale (POS) device, or thelike, or any combination thereof. In some embodiments, the virtualreality device and/or the augmented reality device may include a virtualreality helmet, a virtual reality glass, a virtual reality patch, anaugmented reality helmet, an augmented reality glass, an augmentedreality patch, or the like, or any combination thereof. For example, thevirtual reality device and/or the augmented reality device may include aGoogle Glass, an Oculus Rift, a Hololens, a Gear VR, etc. In someembodiments, built-in device in the motor vehicle 130-4 may include anonboard computer, an onboard television, etc. In some embodiments, therequester terminal 130 may be a device with positioning technology forlocating the position of the requester and/or the requester terminal130.

In some embodiments, the provider terminal 140 may be similar to, or thesame device as the requester terminal 130. In some embodiments, theprovider terminal 140 may be a device with positioning technology forlocating the position of the provider and/or the provider terminal 140.In some embodiments, the requester terminal 130 and/or the providerterminal 140 may communicate with other positioning device to determinethe position of the requester, the requester terminal 130, the provider,and/or the provider terminal 140. In some embodiments, the requesterterminal 130 and/or the provider terminal 140 may send positioninginformation to the server 110.

The database 150 may store data and/or instructions. In someembodiments, the database 150 may store data obtained from the requesterterminal 130 and/or the provider terminal 140. In some embodiments, thedatabase 150 may store data and/or instructions that the server 110 mayexecute or use to perform exemplary methods described in the presentdisclosure. In some embodiments, database 150 may include a massstorage, a removable storage, a volatile read-and-write memory, aread-only memory (ROM), or the like, or any combination thereof.Exemplary mass storage may include a magnetic disk, an optical disk, asolid-state drives, etc. Exemplary removable storage may include a flashdrive, a floppy disk, an optical disk, a memory card, a zip disk, amagnetic tape, etc. Exemplary volatile read-and-write memory may includea random access memory (RAM). Exemplary RAM may include a dynamic RAM(DRAM), a double date rate synchronous dynamic RAM (DDR SDRAM), a staticRAM (SRAM), a thyristor RAM (T-RAM), and a zero-capacitor RAM (Z-RAM),etc. Exemplary ROM may include a mask ROM (MROM), a programmable ROM(PROM), an erasable programmable ROM (PEROM), an electrically erasableprogrammable ROM (EEPROM), a compact disk ROM (CD-ROM), and a digitalversatile disk ROM, etc. In some embodiments, the database 150 may beimplemented on a cloud platform. Merely by way of example, the cloudplatform may include a private cloud, a public cloud, a hybrid cloud, acommunity cloud, a distributed cloud, an inter-cloud, a multi-cloud, orthe like, or any combination thereof.

In some embodiments, the database 150 may be connected to the network120 to communicate with one or more components in the online on-demandservice system 100 (e.g., the server 110, the requester terminal 130,the provider terminal 140, etc.). One or more components in the onlineon-demand service system 100 may access the data or instructions storedin the database 150 via the network 120. In some embodiments, thedatabase 150 may be directly connected to or communicate with one ormore components in the online on-demand service system 100 (e.g., theserver 110, the requester terminal 130, the provider terminal 140,etc.). In some embodiments, the database 150 may be part of the server110.

In some embodiments, one or more components in the online on-demandservice system 100 (e.g., the server 110, the requester terminal 130,the provider terminal 140, etc.) may have a permission to access thedatabase 150. In some embodiments, one or more components in the onlineon-demand service system 100 may read and/or modify information relatingto the requester, provider, and/or the public when one or moreconditions are met. For example, the server 110 may read and/or modifyone or more users' information after a service. As another example, theprovider terminal 140 may access information relating to the requesterwhen receiving a service request from the requester terminal 130, butthe provider terminal 140 may not modify the relevant information of therequester.

In some embodiments, information exchanging of one or more components inthe online on-demand service system 100 may be achieved by way ofrequesting a service. The object of the service request may be anyproduct. In some embodiments, the product may be a tangible product, oran intangible product. The tangible product may include food, medicine,commodity, chemical product, electrical appliance, clothing, car,housing, luxury, or the like, or any combination thereof. The intangibleproduct may include a service product, a financial product, a knowledgeproduct, an internet product, or the like, or any combination thereof.The internet product may include an individual host product, a webproduct, a mobile internet product, a commercial host product, anembedded product, or the like, or any combination thereof. The mobileinternet product may be implemented as a software of a mobile terminal,a program, a system, or the like, or any combination thereof. The mobileterminal may include a tablet computer, a laptop computer, a mobilephone, a personal digital assistance (PDA), a smart watch, a point ofsale (POS) device, an onboard computer, an onboard television, awearable device, or the like, or any combination thereof. For example,the product may be any software and/or application used in the computeror mobile phone. The software and/or application may relate tosocializing, shopping, transporting, entertainment, learning,investment, or the like, or any combination thereof. In someembodiments, the software and/or application relating to transportingmay include a traveling software and/or application, a vehiclescheduling software and/or application, a mapping software and/orapplication, etc. In the vehicle scheduling software and/or application,the vehicle may include a horse, a carriage, a rickshaw (e.g., awheelbarrow, a bike, a tricycle, etc.), a car (e.g., a taxi, a bus, aprivate car, etc.), a train, a subway, a vessel, an aircraft (e.g., anairplane, a helicopter, a space shuttle, a rocket, a hot-air balloon,etc.), or the like, or any combination thereof.

FIG. 2 is a schematic diagram illustrating exemplary hardware andsoftware components of a computing device 200 on which the server 110,the requester terminal 130, and/or the provider terminal 140 may beimplemented according to some embodiments of the present disclosure. Forexample, the processing engine 112 may be implemented on the computingdevice 200 and configured to perform functions of the processing engine112 disclosed in this disclosure.

As illustrated in FIG. 2, the computing device 200 may include aprocessor 201, a storage 203, an input/output (I/O) 205, and acommunication port 207.

The processor 201 may execute computer instructions (e.g., program code)and perform functions of the online on-demand service system 100 inaccordance with techniques described herein. The computer instructionsmay include, for example, routines, programs, objects, components, datastructures, procedures, modules, and functions, which perform particularfunctions described herein. For example, the processor 201 may identifythe status of a terminal (e.g., the requester terminal 130, the providerterminal 140, etc.). In some embodiments, the processor 201 may includeone or more hardware processors, such as a microcontroller, amicroprocessor, a reduced instruction set computer (RISC), anapplication specific integrated circuits (ASICs), anapplication-specific instruction-set processor (ASIP), a centralprocessing unit (CPU), a graphics processing unit (GPU), a physicsprocessing unit (PPU), a microcontroller unit, a digital signalprocessor (DSP), a field programmable gate array (FPGA), an advancedRISC machine (ARM), a programmable logic device (PLD), any circuit orprocessor capable of executing one or more functions, or the like, orany combinations thereof.

Merely for illustration, only one processor is described in thecomputing device 200. However, it should be noted that the computingdevice 200 in the present disclosure may also include multipleprocessors, thus operations and/or method steps that are performed byone processor as described in the present disclosure may also be jointlyor separately performed by the multiple processors. For example, if inthe present disclosure the processor of the computing device 200executes both operation A and operation B, it should be understood thatoperation A and operation B may also be performed by two or moredifferent processors jointly or separately in the computing device 200(e.g., a first processor executes operation A and a second processorexecutes operation B, or the first and second processors jointly executeoperations A and B).

The storage 203 may store data/information obtained from the requesterterminal 130, the provider terminal 140, and/or any other component ofthe online on-demand service system 100. In some embodiments, thestorage 203 may include a mass storage, a removable storage, a volatileread-and-write memory, a read-only memory (ROM), or the like, or anycombination thereof. For example, the mass storage may include amagnetic disk, an optical disk, a solid-state drives, etc. The removablestorage may include a flash drive, a floppy disk, an optical disk, amemory card, a zip disk, a magnetic tape, etc. The volatileread-and-write memory may include a random access memory (RAM). The RAMmay include a dynamic RAM (DRAM), a double date rate synchronous dynamicRAM (DDR SDRAM), a static RAM (SRAM), a thyristor RAM (T-RAM), and azero-capacitor RAM (Z-RAM), etc. The ROM may include a mask ROM (MROM),a programmable ROM (PROM), an erasable programmable ROM (EPROM), anelectrically erasable programmable ROM (EEPROM), a compact disk ROM(CD-ROM), and a digital versatile disk ROM, etc. In some embodiments,the storage 203 may store one or more programs and/or instructions toperform exemplary methods described in the present disclosure. Forexample, the storage 203 may store a program for the processing engine140 to perform a predetermined action based on the status of a terminal(e.g., the requester terminal 130, the provider terminal 140, etc.).

The I/O 205 may input and/or output signals, data, information, etc. Insome embodiments, the I/O 205 may enable a user interaction with theprocessing engine 140. In some embodiments, the I/O 205 may include aninput device and an output device. Examples of the input device mayinclude a keyboard, a mouse, a touch screen, a microphone, or the like,or any combination thereof. Examples of the output device may include adisplay device, a loudspeaker, a printer, a projector, or the like, orany combination thereof. Examples of the display device may include aliquid crystal display (LCD), a light-emitting diode (LED)-baseddisplay, a flat panel display, a curved screen, a television device, acathode ray tube (CRT), a touch screen, or the like, or any combinationthereof.

The communication port 207 may be connected to a network (e.g., thenetwork 120) to facilitate data communications. The communication port207 may establish connections between the device 110, the device 130,and/or any other component of the online on-demand service system 100.The connection may be a wired connection, a wireless connection, anyother communication connection that can enable data transmission and/orreception, and/or any combination of these connections. The wiredconnection may include, for example, an electrical cable, an opticalcable, a telephone wire, or the like, or any combination thereof. Thewireless connection may include, for example, a Bluetooth™ link, aWi-Fi™ link, a WiMax™ link, a WLAN link, a ZigBee link, a mobile networklink (e.g., 3G, 4G, 5G, etc.), or the like, or any combination thereof.In some embodiments, the communication port 207 may be and/or include astandardized communication port, such as RS232, RS485, etc. In someembodiments, the communication port 207 may be a specially designedcommunication port. For example, the communication port 207 may bedesigned in accordance with the digital imaging and communications inmedicine (DICOM) protocol.

FIG. 3 is a schematic diagram illustrating exemplary hardware and/orsoftware components of an exemplary mobile device 300 on which theonline on-demand service system 100 may be implemented according to someembodiments of the present disclosure. As illustrated in FIG. 3, themobile device 300 may include a communication platform 301, a display302, a graphic processing unit (GPU) 303, a central processing unit(CPU) 304, an I/O 305, a memory 306, a storage 309, a vibration output311, a sound output 313, a light output 315, and a location sensingdevice 317. In some embodiments, any other suitable component, includingbut not limited to a system bus or a controller (not shown), may also beincluded in the mobile device 300.

In some embodiments, a mobile operating system 307 (e.g., iOS™,Android™, Windows Phone™ etc.) and one or more applications 308 may beloaded into the memory 306 from the storage 309 in order to be executedby the CPU 304. The applications 308 may include a browser or any othersuitable mobile apps for receiving and rendering information relating toimage processing or other information from the online on-demand servicesystem 100. User interactions with the information stream may beachieved via the I/O 305 and provided to the database 150, the server110 and/or other components of the online on-demand service system 100.

The vibration output 311 may include a vibration device that generates avibration. The vibration device may include but is not limited to avibration motor, a vibrator, an oscillator, or the like, or anycombination thereof. The amplitude and frequency of the vibration may beconfigured by the CPU 304. For example, the amplitude and frequency ofthe vibration may be constant, regularly changed, or irregularlychanged. The voice output 313 may include an acoustic generator (e.g. aspeaker) that generates sound. The loudness and frequency of the soundmay be configured by the CPU 304. For example, the loudness andfrequency of the sound may be constant, regularly changed, orirregularly changed. The light output 315 include an optical componentthat generates light. The optical component may include but not is notlimited to a liquid crystal display (LCD), a light emitting diode (LED),a cathode ray tube (CRT), etc. In some embodiments, the light output 315may generate light solely or jointly with the display 302. The color (orfrequency) and intensity of the light may be configured by the CPU 304.For example, the color, intensity, and flashing frequency of the lightmay be constant, regularly changed, or irregularly changed. The locationsensor 317 may locate the position of the mobile device 300. In someembodiments, the location sensing device 317 may include a GlobalPosition System (GPS).

To implement various modules, units, and their functionalities describedin the present disclosure, computer hardware platforms may be used asthe hardware platform(s) for one or more of the elements describedherein. A computer with user interface elements may be used to implementa personal computer (PC) or any other type of work station or terminaldevice. A computer may also act as a server if appropriately programmed.

One of ordinary skill in the art would understand that when an elementof the on-demand service system 100 performs, the element may performthrough electrical signals and/or electromagnetic signals. For example,when a requestor terminal 130 sends out a service request to the server110, a processor of the requestor terminal 130 may generate anelectrical signal encoding the request. The processor of the servicerequestor terminal 130 may then send the electrical signal to an outputport. If the requestor terminal 130 communicates with the server 110 viaa wired network, the output port may be physically connected to a cable,which further transmit the electrical signal to an input port of theserver 110. If the requestor terminal 130 communicates with the server110 via a wireless network, the output port of the service requestorterminal 130 may be one or more antennas, which convert the electricalsignal to electromagnetic signal. Similarly, a service provider terminal130 may receive an instruction and/or service request from the server110 via electrical signal or electromagnet signals. Within an electronicdevice, such as the requestor terminal 130, the provider terminal 140,and/or the server 110, when a processor thereof processes aninstruction, sends out an instruction, and/or performs an action, theinstruction and/or action is conducted via electrical signals. Forexample, when the processor retrieves or saves data from a storagemedium, it may send out electrical signals to a read/write device of thestorage medium, which may read or write structured data in the storagemedium. The structured data may be transmitted to the processor in theform of electrical signals via a bus of the electronic device. Here, anelectrical signal may refer to one electrical signal, a series ofelectrical signals, and/or a plurality of discrete electrical signals.

FIG. 4 is a flowchart illustrating an exemplary process for performing alocation-based action according to some embodiments of the presentdisclosure. The process and/or method 400 may be executed by a device inthe online on-demand service system 100. In some embodiments, at leastpart of process 400 may be performed by computing device 200 shown inFIG. 2. In some embodiments, at least part of process 400 may beperformed by the mobile device 300 shown in FIG. 3. For example, theprocess and/or method 400 may be implemented as a set of instructions(e.g., an application) stored in a storage medium. A processor of anelectronic device (e.g., a terminal and/or a server) may execute the setof instructions and may accordingly be directed to perform the processand/or method 400 via receiving and/or sending electronic signals.

In 402, a device may obtain location information of a terminal withrespect to a reference location.

The device may be the terminal itself or a server in the onlineon-demand service system 100. The terminal may include a mobile device(a smart home device, a wearable device, a smart mobile device, avirtual reality device, an augmented reality device, etc.), a tabletcomputer, a laptop computer, a built-in device in a motor vehicle (e.g.,an onboard computer, an onboard television, etc.), or the like, or anycombination thereof. In some embodiments, the terminal may be arequester terminal 130 or a provider terminal 140.

The reference location may be a location that a terminal wants to go to.For example, the reference location for a terminal of a service provider(also referred to as a provider terminal), such as a taxi driver, may bea current location of a service requester (e.g., a passenger), anappointed pick-up location, a destination of the service requester, arecommended destination for the service requester, or the like. Moredescriptions regarding the reference location may be found elsewhere inthe present disclosure. See, e.g., FIG. 5 and the relevant descriptions.

The location information may include geographic information, distanceinformation, speed information, time information, direction information,acceleration information, or other types of information directly orindirectly associated with location of the terminal. The geographicinformation may include but is not limited to a current location of theterminal. The distance information may include but is not limited to athreshold distance and/or a distance between the current location of theterminal and the reference location. The speed information may includebut is not limited to a moving speed of the terminal (i.e., the rate ofchange of the location of the terminal) and/or a threshold speed. Thedirection information may include but is not limited to a movingdirection of the terminal and/or a threshold direction. The accelerationinformation may include but is not limited to an acceleration of theterminal and/or a threshold acceleration. The time information mayinclude but is not limited to an estimated required time for theterminal to arrive at the reference location, a threshold time, anestimated arrival time to arrive at the reference location, and/or athreshold arrival time. In some embodiments, the location information ofthe terminal may be obtained continuously or periodically (e.g., inevery second, etc.). More descriptions regarding the locationinformation may be found elsewhere in the present disclosure. See, e.g.,FIGS. 5 to 7 and the relevant descriptions.

In 404, the device may determine a status of the terminal based on thelocation information.

The status of the terminal may be determined based on one or more typesof location information. For example, a status of the terminal may bedetermined based on distance information (e.g., a threshold distance anda distance between the current location of the terminal and thereference location, etc.). More descriptions regarding the determinationof the status based on the distance information may be found elsewherein the present disclosure. See, e.g., FIG. 5 and the relevantdescriptions. As another example, the status of terminal may bedetermined based on distance information and speed information. Moredescriptions regarding the determination of status based on the distanceinformation and the speed information may be found elsewhere in thepresent disclosure. See, e.g., FIG. 7 and the relevant descriptions.

In 406, the device may make a judgment as to whether the status of theterminal satisfies a preset condition.

The preset condition may include a particular status and/or a particularchange of status. For illustration purpose, assuming that the terminalcan be any status of N possible statuses, e.g., a 1^(st) status, a2^(nd) status, . . . , and a N^(th) status, the preset condition may bea particular status such as the 1^(st) status, the 2^(nd) status, etc.Alternatively, the preset condition may be a particular change of statussuch as a change from the 1^(st) status to the 2^(nd) status, a changefrom the 4^(th) status to the 3^(rd) status, etc. Upon determining thatthe status of the terminal satisfies the preset condition, 408 may beperformed. Otherwise, 402 may be performed again to obtain locationinformation of the terminal.

In 408, a predetermined action may be performed. For example, theterminal may make the above judgement and actively perform thepredetermined action. Alternatively, when the device is a server, theserver may make the above judgment and then instruct the terminal oranother terminal to perform the predetermined action.

The predetermined action may include providing a notification, changinga view of displaying a map, displaying recommendation information on theterminal or the another terminal, or the like, or any combinationthereof. The predetermined actions may be the same or different withrespect to different preset conditions. For example, the notificationand recommendation information may be provided when the terminal changesfrom a first status to a second status. The view of displaying a map maychange when the terminal changes from a second status to a third status.In some embodiments, if multiple predetermined actions need to beperformed, the multiple predetermined actions may be performedsimultaneously or in sequence.

The predetermined action may also be performed on multiple terminals(e.g., the provider terminal, the requester terminal, etc.) in theonline on-demand service system 100. In some embodiments, upondetermining that the status of the provider terminal 140 satisfies apreset condition, a predetermined action may be performed by theprovider terminal 140 and a corresponding requester terminal 130,respectively. For example, the provider terminal 140 may provide avibration notification to the service provider and the requesterterminal 130 may provide a sound notification to the service requester.Additionally, a view of displaying a map of the provider terminal 140may change from a plan view to a perspective view. More descriptionsregarding the notification, the displaying view, and/or therecommendation information may be found elsewhere in the presentdisclosure. See, e.g., FIG. 5 and the relevant descriptions.

FIG. 5 is a flowchart illustrating an exemplary process for performing alocation-based action according to some embodiments of the presentdisclosure. The process and/or method 500 may be executed by a device inthe online on-demand service system 100. Process 500 may be an exemplaryembodiment of process 400 with reference to FIG. 4. In some embodiments,at least part of process 500 may be performed by computing device 200shown in FIG. 2. In some embodiments, at least part of process 500 maybe performed by the mobile device 300 shown in FIG. 3. For example, theprocess and/or method 500 may be implemented as a set of instructions(e.g., an application) stored in a storage medium. A processor of anelectronic device (e.g., a terminal and/or a server) may execute the setof instructions and may accordingly be directed to perform the processand/or method 400 via receiving and/or sending electronic signals.

In 502, a reference location of a terminal may be obtained. Thereference location may be obtained by the terminal itself, or may beobtained by a server of the system 100 and/or the another terminal, andthen sent to the terminal by the server.

The terminal may be a provider terminal or a requester terminal, and thereference location may be a location that the terminal wants to go to.For example, the reference location of the provider terminal 140 may bea current location of a service requester, an appointed pick-uplocation, a destination of the service requester, a recommendeddestination for the service requester, or the like. In a transportationservice (e.g. a car hailing service), a driver (service provider) mayneed to pick up a passenger (service requester). On the way of pickingup the passenger, the reference location of the driver's terminal may bea current location of the passenger or an appointed pick-up location.When the driver picks up the passenger, the reference location of thedriver's terminal may be a destination of the passenger or a recommendeddestination for the passenger (e.g., a nearest hospital, a scenery spot,etc.) if no specific destination is provided. As another example, thereference location of the requester terminal 130 may be an appointedplace with the service provider, a destination of the service requester,or a recommended destination for the service requester, or the like.

In 504, a threshold distance and a current location of the terminal maybe obtained.

The threshold distance may be 5 m, 10 m, 20 m, 50 m, 100 m, 200 m, orany other values. The threshold distance may be set by a user of theterminal or be determined by one or more components in the onlineon-demand service system 100. For example, the threshold distance may bedetermined by the server 110. In some embodiments, the thresholddistance may vary with time, user, location, etc. Merely by way ofexample, a threshold distance for a driver's terminal with respect to areference location in daytime may be less than a threshold distance innighttime with respect to the same reference location.

The current location of the terminal may be determined based on apositioning technology, such as, a GPS positioning technology, a basestation positioning technology, a WIFI positioning technology, etc. Insome embodiments, the current location of the terminal be determined bya built-in device in a vehicle, such as, a vehicle navigation system ora tachograph, etc.

In 506, a distance between the current location and the referencelocation may be obtained. The distance may be obtained by the terminalitself, and/or may be obtained by the server of the system 100 and/orthe another terminal, and then sent to the terminal by the server and/orthe another terminal.

The distance between the current location and the reference location maybe a straight-line distance or an actual distance (e.g. a distance of aroute between the current location and the reference location). Theroute between the current location and the reference location may bedetermined based on traffic information, weather information, userpreference information, geographic information related to the currentlocation and the reference location, or the like, or any combinationthereof. In some embodiments, multiple routes between the currentlocation and the reference location may be obtained. The multiple routesmay be ranked based on ranking criteria. The ranking criteria mayinclude a travelling time, a travelling distance, a number of trafficlights, a number of scenery spots, or the like, or any combinationthereof. The route may than be determined based on the ranking result.For example, a route with smallest travelling time may be selected andan actual distance of the selected route may be obtained. In someembodiments, the selected route may further be displayed on a map of theterminal.

In 508, a status of the terminal may be determined based on thethreshold distance and the current location of the terminal. The statusmay be obtained by the terminal itself, and/or may be obtained by theserver of the system 100 and/or the another terminal, and then sent tothe terminal by the server and/or the another terminal.

As shown in FIG. 10, the terminal may be a mobile device of a driver andthe reference location may be a current location of the passenger. Thecurrent location of the driver may be continuously or periodicallyobtained. When the driver drives to the passenger, the distance betweenthe current location and the reference location may be a decreasingpositive number. When the driver arrives at the current location of thepassenger, the distance may be zero. When the driver picks up thepassenger and drives to a destination of the passenger, the distance maybe a decreasing negative number.

As illustrated in FIG. 10, the status of the driver may be determinedbased on a first distance threshold, a second distance threshold, and athird distance threshold. When the distance is equal to or greater thanthe first distance threshold, the driver may be in a first status. Whenthe distance is less than the first threshold distance and equal to orgreater than the second distance threshold, the driver may be in asecond status. When the distance is less than the second thresholddistance and equal to or greater than zero, the driver may be in a thirdstatus. When the distance is less than the zero and equal to or greaterthan the third distance threshold, the driver may be in a fourth status.When the distance is less than the third distance threshold, the drivermay be in a fifth status.

It should be noted that the example illustrated in FIG. 10 is providedmerely for the purpose of illustration, and not intended to limit thescope of the present disclosure. For example, the terminal may have anynumber of threshold distances and the terminal may have any number ofstatuses corresponding to the threshold distances. For example, thedriver may be determined to be in a first status (e.g., far from thepassenger) when the distance is equal to or greater than a distancethreshold. Otherwise, the driver may be determined to be in a secondstatus (e.g., close to the passenger) when the distance is less than thedistance threshold.

In 510, a judgment may be made as to whether the status of the terminalsatisfies a preset condition. The judgment may be made by the terminalitself, and/or may be made by the server of the system 100 and/or theanother terminal, and then sent to the terminal by the server and/or theanother terminal.

The preset condition may include a particular status and/or a particularchange of status For example, the preset condition may include but isnot limited to a change of status from the first status to the secondstatus. Upon determining that the status of the terminal satisfied thepreset condition, 512 be performed. Otherwise, 504 may be performed andthe current location of the terminal may be obtained again. Moredescriptions regarding the preset condition may be found elsewhere inthe present disclosure. See, e.g., FIG. 4 and the relevant descriptions.

In 512, the terminal may perform a notification.

The notification may include a vibration notification, a lightnotification, a sound notification, a text notification, an imagenotification, or the like, or any combination thereof. The notificationmay have one or more notification parameters. For example, thenotification parameters of a vibration notification may include avibrating amplitude, a vibrating frequency, a vibrating cycle, or thelike, or any combination thereof. The notification parameters of a lightnotification may include a lighting intensity, a lighting frequency, aflashing frequency, or the like, or any combination thereof. Thenotification parameters of a sound notification may include a loudness,an audible frequency, or the like, or any combination thereof. Thenotification parameters may vary with time, user, location, etc. Merelyby way of example, a vibration notification for a driver's terminal mayhave a greater vibrating frequency in nighttime than in daytime. Thenotification parameters of the notification may be constant or changing.For example, the vibrating frequency of a vibration notification may beconstant, gradually increasing, suddenly increasing, graduallydecreasing, suddenly decreasing, or the like, or any combinationthereof.

The notification parameters of the notification may be set by a user orbe determined by one or more components in the online on-demand servicesystem 100. For example, a driver or a passenger may choose the way ofnotification and set corresponding notification parameters via a userinterface of a mobile device. In some embodiments, the notification andthe notification parameters may be related to location information of aterminal. Merely by way of example, the vibrating frequency of avibration notification may be inversely proportional to the distancebetween the current location and the reference location. As anotherexample, when the terminal arrives at the reference location, thenotification may stop. More descriptions regarding the correlationbetween the notification and location information of terminal may befound elsewhere in the present disclosure. See, e.g., FIG. 8 and therelevant descriptions.

In 514, the display may change the view of displaying a map on theterminal.

The map may display a route from the current location to the referencelocation. In some embodiments, the map may also display informationrelated to the route (e.g., streets, buildings along the route, trafficinformation, etc.). The views of displaying the map may include a planview, a perspective view, a satellite view, a bird's eye view, adriver's eye view, or the like, or any combination thereof. The planview may display the route and related information in a regular map. Theperspective view may display the route and the related information in a3-dimensional map. The satellite view may display the route and therelated information in a satellite map based on the images collected bysatellites. The bird's eye view may display the route and the relatedinformation at a particular height and a direction. The driver's viewmay display the route and related information at a simulated view of thedriver based on the driver's location and direction. The views ofdisplaying the map may be the same or different with respect toterminals in different statuses.

Upon determining that the preset condition is satisfied, the terminalmay change the map from a first view to a second view. For example, whenthe terminal is in a first status, e.g., the distance between thecurrent location and the reference location is greater than or equal toa first threshold distance, the terminal may display the route andrelated information in a plan view. When the terminal changes to asecond status, e.g., the distance becomes less than the first thresholddistance, the route may be displayed under a perspective view. When theterminal further changes to a third status, e.g., the distance betweenthe current location and the reference location is greater than a secondthreshold, the route may be displayed under the plan view again.

In 516, the terminal may display recommendation information on theterminal.

The recommendation information may include information about one or morelocations along a route from the current location to the referencelocation or one or more locations near the reference location. The oneor more locations may include a building (e.g., a hospital, asupermarket, a school, etc.), a station (e.g., a bus station, a trainstation, etc.), a street, a scenery (e.g., a mountain, a river, a scenicspot, etc.), or the like. The recommendation information may bedisplayed and/or highlighted on the terminal in any color, any size, anyshape, and any format (e.g., a graph, an icon, a character, etc.).Different recommendation information may be displayed in same ordifferent ways. For example, different recommendation information may bedisplayed in the same color but different shapes.

Upon determining that the preset condition is satisfied, the terminalmay display recommendation information. In some embodiments, beforedisplaying recommendation information, the terminal may perform and/ordisplay an inquiry to ask the user if he/she needs the recommendationinformation. If so, the recommendation information may be displayed.Otherwise, the recommendation information may not be displayed.

In some embodiments, the terminal may rank the one or more locations mayand display the recommendation information based on the ranking result.For example, the one or more locations may be ranked based the distancebetween their locations and the reference location. The recommendationinformation of the locations may be displayed in different sizes orcolors according to ranking result. More descriptions regarding thedisplaying recommendation information may be found elsewhere in thepresent disclosure. See, e.g., FIG. 9 and the relevant descriptions.

It should be noted that the above descriptions of process 500 areprovided for the purposes of illustration, and not intended to limit thescope of the present disclosure. For persons having ordinary skills inthe art, various modifications and changes in the forms and details ofthe application of the above method and system may occur withoutdeparting from the principles in the present disclosure.

However, those variations and modifications also fall within the scopeof the present disclosure. In some embodiments, multiple thresholddistances may be obtained in 504 and the status of the terminal may bedetermined on the multiple threshold distances and the distance betweenthe current location and the reference location in 508. In someembodiments, one or more operations may be added or omitted. Forexample, some or all of 512, 514, and 516 may be omitted. As anotherexample, an additional judgment may be performed to determine whetherthe terminal arrives at the reference location. If the terminal arrivesat the reference location, the terminal may stop providing notificationand/or stop displaying the recommendation information. Additional, theterminal may display a route from the reference location to anotherdestination. In some embodiments, the order of 512, 514, and 516 may bechanged. For example, 512, 514, and 516 may be performed simultaneouslyor in any order.

FIG. 6 is a flowchart illustrating an exemplary process for performing alocation-based action according to some embodiments of the presentdisclosure. Process 600 may be an exemplary embodiment of process 400with reference to FIG. 4. The process and/or method 600 may be executedby a device in the online on-demand service system 100. In someembodiments, at least part of process 600 may be performed by computingdevice 200 shown in FIG. 2. In some embodiments, at least part ofprocess 600 may be performed by the mobile device 300 shown in FIG. 3.For illustration purpose, the process 600 is described with respect to aprovider terminal. However, it should be noted that process 600 may beimplemented on a requester terminal or any other terminal as well.

In 602, a reference location of a provider terminal may be obtained.Operation 602 may be substantially similar to 502 and is not repeated.

In 604, a threshold time, a current location, and a speed of theprovider terminal may be obtained. The threshold time, the currentlocation, and the speed may be obtained by the terminal itself, and/ormay be obtained by the server of the system 100 and/or the anotherterminal, and then sent to the terminal by the server and/or the anotherterminal.

The threshold time may be 30 seconds, 1 minutes, 3 minutes, or any othervalues. The speed of the terminal may be an instantaneous speed, anaverage speed in a time interval, or a preset speed corresponding to thetype of the road. For example, the speed may be an average speed of theprovider terminal in the last 0.1 second, 1 second, 10 seconds, 1minute, 3 minutes, etc. As another example, the speed may be a presetspeed (e.g. 100 km/h in highways or 60 km/h in city roads). In someembodiments, the speed of the terminal may be determined by a processorin the provider terminal or the server 110 based on the change of thecurrent location of provider terminal. In some embodiments, the speed ofthe provider terminal may be determined by a built-in device in avehicle, such as, a vehicle speedometer, etc.

In 606, a distance between the current location and the referencelocation may be obtained. Operation 606 may be substantially similar to506 and is not repeated.

In 608, an estimated required time of getting to the reference locationmay be obtained based on the distance between the current location andthe reference location and the speed of the provider terminal.

The estimated required time may be obtained by the terminal itself,and/or may be obtained by the server of the system 100 and/or theanother terminal, and then sent to the terminal by the server and/or theanother terminal. The estimated required time may be a ratio of thedistance to the speed of the provider terminal. In some embodiments, theestimated required time may be determined based the distance, the speedof the provider terminal and other related information, such as, trafficinformation, weather information, or the like.

In 610, a status of the provider terminal may be determined based on thethreshold time and the estimated required time. The status of theprovider terminal may be determined by the provider terminal itself,and/or may be determined by the server of the system 100 and/or theanother terminal (e.g., a passenger terminal), and then sent to theprovider terminal by the server and/or the another terminal.

For example, if the estimated required time is greater than or equal toa threshold time, the provider terminal may be determined to be in afirst status, i.e. still on the way. If the estimated required time isless than the threshold time, the provider terminal may be determined tobe in a second status, i.e. arriving soon. Additionally, if theestimated required time or the distance between the current location andthe reference location is equal to zero, the provider terminal may bedetermined to be in a third status, i.e. arriving at the referencelocation.

In 612, a judgment may be made as to whether the status of the providerterminal satisfies a preset condition. Operation 612 may besubstantially similar to 510 and is not repeated. Upon determining thatthe status of the provider terminal satisfies the preset condition, 614and/or 616 may be performed. Otherwise, 604 may be performed again toobtain the current location and the speed of the provider terminal.

In 614, a notification may be provided by the provider terminal. In 616,a notification may be provided by a corresponding requester terminal.The notifications in 614 and 616 may be similar to that described inFIG. 5 and are not repeated. The notifications provided by the providerterminal and the requester terminal may be of the same or differenttypes. The notifications provided by the provider terminal and therequester terminal may have a same or different values of notificationparameter if they are of the same type. For example, the notificationprovided by the provider terminal to the service provider may be avibration notification and the notification provided by thecorresponding requester terminal to the service requester may be a lightnotification. As another example, the notifications provided by theprovider terminal may have a higher vibrating frequency than that of therequester terminal.

In some embodiments, the preset condition with respect to the providerterminal and the preset condition with respect to the requester terminalmay be different. For example, if the estimated required time of gettingto the reference location is less than three minutes, 614 may beperformed to provide a notification to the service provider. However, anotification may not be provided to the service requester until theestimated required time of getting to the reference location is lessthan one minute.

In 618, the provider terminal may change a view of displaying a map. In620, the provider terminal may display recommendation information.Operations 618 and 620 may be substantially similar to 514 and 516,respectively, and are not repeated.

It should be noted that the above descriptions of process 600 areprovided for the purposes of illustration, and not intended to limit thescope of the present disclosure. For persons having ordinary skills inthe art, various modifications and changes in the forms and details ofthe application of the above method and system may occur withoutdeparting from the principles in the present disclosure.

However, those variations and modifications also fall within the scopeof the present disclosure. In some embodiments, multiple threshold timemay be obtained in 604 and the status of the terminal may be determinedon the multiple threshold time and the estimated required time in 610.In some embodiments, one or more operations may be added or omitted. Forexample, some or all steps of 614 to 620 may be omitted. As anotherexample, an additional operation may be performed to change a view ofdisplaying a map on the requester terminal or display recommendationinformation on the requester terminal. In some embodiments, the order ofthe operations in process 600 may be changed. For example, 614 to 620may be performed simultaneously or in any order.

FIG. 7 is a flowchart illustrating an exemplary process for performing alocation-based action according to some embodiments of the presentdisclosure. Process 700 may be an exemplary embodiment of process 400with reference to FIG. 4. The process 700 may be executed by a device inthe online on-demand service system 100. In some embodiments, at leastpart of process 700 may be performed by the computing device 200 shownin FIG. 2. In some embodiments, at least part of process 700 may beperformed by the mobile device 300 shown in FIG. 3.

In 702, a reference location of a provider terminal may be obtained.Operation 702 may be substantially similar to 502 with reference to FIG.5 and is not repeated.

In 704, a threshold distance, a threshold speed, a current location ofthe terminal, and a speed of the terminal may be obtained.

The threshold distance, threshold speed, current location of theterminal may be obtained by the terminal itself, and/or may be obtainedby the server of the system 100 and/or the another terminal, and thensent to the terminal by the server and/or the another terminal. Thethreshold distance may be 5 m, 10 m, 20 m, 50 m, 100 m, 200 m, or anyother values. The threshold speed may be 5 km/h, 8 km/h, 10 km/h, 15km/h, 20 km/h, or any other values. More descriptions regarding thecurrent location and the speed of the terminal may be found elsewhere inthe present disclosure. See, e.g., FIG. 5 and FIG. 6 and the relevantdescriptions.

In 706, a distance between the current location and the referencelocation may be obtained. Operation 706 may be substantially similar to506 with reference to FIG. 5 and is not repeated.

In 708, a status of the terminal may be determined based on thethreshold distance, the threshold speed, the distance, and the speed ofthe terminal. The status may be determined by the terminal itself,and/or may be determined by the server of the system 100 and/or theanother terminal, and then sent to the terminal by the server and/or theanother terminal.

For example, assuming that the status of the terminal is determinedbased on a threshold distance and a threshold speed, if the distance isgreater than the threshold distance and the speed is greater than thethreshold speed, the terminal may be determined to be in a first status,i.e. far from the reference location and not ready to stop. If thedistance is greater than the threshold distance and the speed is lessthan the threshold speed, the terminal may be determined to be in asecond status, i.e. far from the reference location but wants to stop.If the distance is less than the threshold distance and the speed isgreater than the threshold speed, the terminal may be determined to bein a third status, i.e. close to the reference location but not ready tostop. If the distance is less than the threshold distance and the speedis less than the threshold speed, the terminal may be determined to bein a fourth status, i.e. close to the reference location and ready tostop.

It should be noted that the above example is provided for the purpose ofillustration, and not intended to limit the scope of the presentdisclosure. The terminal may have any number of threshold distances andthe threshold speeds and any number of corresponding statuses.

In 710, the terminal may make a judgment as to whether the status of theterminal satisfies a preset condition. In 712, the terminal may performa notification may be provided to. In 714, the terminal may change aview of displaying a map. In 716, the terminal may displayrecommendation information. Operations 710 to 716 may be substantiallysimilar to 510 to 516, respectively, and are not repeated here.

It should be noted that the above descriptions of process 700 areprovided for the purposes of illustration, and not intended to limit thescope of the present disclosure. For persons having ordinary skills inthe art, various modifications and changes in the forms and details ofthe application of the above method and system may occur withoutdeparting from the principles in the present disclosure. However, thosevariations and modifications also fall within the scope of the presentdisclosure. In some embodiments, multiple threshold distances and/ormultiple threshold speeds may be obtained in 704 and the status of theterminal may be determined on the multiple threshold distances, themultiple threshold speeds, the speed of the terminal, and the distancebetween the current location and the reference location and theestimated required time in 708. In some embodiments, one or moreoperations may be added or omitted. For example, some or all of 712 to716 may be omitted. As another example, an additional operation may beperformed to change a view of displaying a map on the requester terminalor display recommendation information on the service terminal. In someembodiments, the order of operations in process 700 may be changed. Forexample, 712 to 716 may be performed simultaneously or in any order.

FIG. 8 is a flowchart illustrating an exemplary process for providing anotification based on location information of a terminal according tosome embodiments of the present disclosure. Process 800 may be anexemplary embodiment of 408 or 512. The process 800 may be executed by adevice in the online on-demand service system 100. In some embodiments,at least part of process 900 may be performed by computing device 200shown in FIG. 2.

In 802, a terminal may perform a notification. The notification mayinclude a vibration notification, a light notification, a soundnotification, a text notification, an image notification, or any othertype of notification. The notification may be similar to that describedin FIG. 5 and is not repeated here.

In 804, the location information of the terminal may be obtained. Thelocation information may be obtained by the terminal itself, and/or maybe obtained by the server of the online on-demand service system 100and/or the another terminal, and then sent to the terminal by the serverand/or the another terminal.

Referring back to FIG. 4, in 402, the location information of theterminal respect to the reference location may include but is notlimited to geographic information, distance information, speedinformation, time information, direction information, or accelerationinformation. For example, the location information may include athreshold distance, a distance between the current location of theterminal and the reference location, a speed of the terminal, athreshold speed, an estimated required time to get to the referencelocation, or the like, or a combination thereof.

In 806, the notification may be adjusted based on the locationinformation. As used herein, adjusting the notification may includeadjusting the type of notification, adjusting one or more notificationparameters, changing the terminal that generates the notification, orthe like, or any combination thereof.

For illustration purpose, an adjustment for a vibration notification istaken as an example. Referring to FIG. 10, assuming that a vibrationnotification is provided to the terminal of the driver when he drivespast the first location, the vibrating frequency of the notification mayuniformly increase with the decrease of the distance. As anotherexample, when the distance is greater than the second thresholddistance, the vibrating frequency of the vibration notification mayincrease in a first rate with the decrease of the distance. When thedistance is smaller than the second threshold distance, the vibratingfrequency of the vibration notification may increase in a second ratewith the decrease of the distance. The second rate may be greater thanthe first rate. Alternatively, a stronger notification, such as a soundnotification may replace the vibration notification when the distance issmaller than the second threshold distance to attract the driver'sattention. Additionally, when the distance is smaller than the secondthreshold distance, a notification may be provided to the passenger'sterminal to notify the passenger that the driver is arriving soon. Itshould be noted that the descriptions with respect to the adjustment ofvibration notification are provided for the purpose of illustration, andnot intended to limit the scope of the present disclosure. Thenotification may be adjusted in any other ways based on the locationinformation of the terminal.

FIG. 9 is a flowchart illustrating an exemplary process for displayingrecommendation information on the terminal according to some embodimentsof the present disclosure. Process 900 may be an exemplary embodiment of516 with reference to FIG. 5. The process 900 may be executed by adevice in the online on-demand service system 100. In some embodiments,at least part of process 900 may be performed by computing device 200.

In 902, recommendation information of one or more locations along aroute between the current location and the reference location or aroundthe reference location may be obtained. The one or more locations may besimilar to those described in FIG. 5 and are not repeated.

In 904, the one or more locations may be ranked based on one or moreranking criteria. The one or more locations may be ranked by theterminal itself, or may be obtained by a server of the system 100 and/orthe another terminal, and then sent to the terminal by the server. Theranking criteria may include a distance between the location and thereference location, a distance between the location and the currentlocation of the terminal, a rating, a score, a number of visitors, anumber of visiting times, or the like, or any combination thereof. Forexample, in a car transportation service, the one or more rankingcriteria may include a number of time that the location is set as adestination and/or a start location.

In 906, the terminal may display the recommendation information of theone or more locations based on the ranking result. In some embodiments,only some of the one or more locations may be displayed. For example,only the top locations (e.g., top 3 location, top 5 locations, top 10%locations, etc.) in the ranking result may be displayed. Additionally,the obtained top locations may be further filtered. For example, the toplocations may be filtered based on their distances from the referencelocation. More particularly, only the top locations that are close tothe reference location (e.g. the distances between the top locations andthe reference location are less than a threshold) may be displayed.

In some embodiments, the terminal may display the recommendationinformation of the one or more locations in different ways based on theranking result. For example, the size of the recommendation informationof a location may be inversely proportional to its rank in the rankingresult. As another example, top 3 locations in the ranking result may bedisplayed in red and other locations may be displayed in grey. In someembodiments, the way of displaying recommendation information and/or theranking criteria of the one or more locations and may be set by a userof the terminal.

The following examples illustrates part of the implementation of thesystems and methods in the present disclosure:

Example 1

In a car hailing service, the driver may have a mobile device thatimplements the methods disclosed in present application. At first, adriver may receive a service request from a passenger. The servicerequest may include a current location (also referred to as a referencelocation) of the passenger and a destination. Once the driver acceptsthe service request, the mobile device may obtain the current locationof the driver and display a route from the driver's current location tothe reference location. The mobile device may continuously orperiodically obtain the distance between the driver and the referencelocation when the driver is driving to the reference location.

The distance between the driver and the reference location may becompared with a threshold distance. The threshold distance may be set bythe driver or the service provider of the car hailing service. Thethreshold distance may be 5 m, 10 m, 20 m, 50 m, 100 m, 200 m, or anyother values. According to the comparison result, the mobile device maydetermine the status of the driver. For example, if the distance betweenthe driver and the reference location is greater than the thresholddistance, the driver may be determined to be in a first status, i.e. farfrom the reference location. Otherwise, the driver may be determined tobe in a second status, i.e. close to the reference location.

Upon determining that the driver is close to the reference location(e.g. the driver changes from the first status to the second status),the mobile device may perform a first predetermined action. The firstpredetermined action may include notifying the driver by vibration,light and/or sound. The amplitude or frequency of vibration, theintensity and color of light and/or the loudness and frequency of soundmay vary based on the distance between the driver and the referencelocation. More particularly, the amplitude or frequency of vibration,the intensity and color of light and/or the loudness and frequency ofsound may be inversely proportional to the distance. The firstpredetermined action may also include changing from displaying a mapunder a plan view to a perspective view. Additionally, the firstpredetermined action may further include displaying and highlightingrecommendation information around the reference location on the map. Therecommendation information may include information about buildings,sceneries, streets, stations, rivers, mountains, etc. around thereference location. Different information may be displayed in differentcolors and formats on the mobile device. Merely by way of example,buildings may be displayed in red rectangles and mountains may bedisplayed in blue triangles.

When the driver picks up the passenger or when the mobile devicedetermines that the driver is far from the reference location (e.g. thedriver changes from the second status to the first status), the mobiledevice may perform a second predetermined action. In some embodiments,the second predetermined action may be different from the firstpredetermined action. For example, the second predetermined action mayinclude changing from displaying the map under a perspective view to aplan view, stopping the notifications, and stopping displaying andhighlighting recommendation information. The second predetermined actionmay also include displaying a route from the reference location or thelocation where the passenger is picked up to the destination.

Example 2

Similar to example 1, a driver may accept a car hailing service requestfrom a passenger and the driver's mobile device may obtain a route fromthe driver's current location to the reference location. However, thedriver may want to go to another place (e.g. gas station, restaurant,etc.) before picking up the passenger. Therefore parameters besides thedistance may be required to evaluate whether the driver is ready to pickup the passenger when he is close to the reference location. Theparameters may include but are not limited to direction, speed,acceleration, route, etc.

Taking speed as an example, the mobile device may obtain both the speedof the driver and the distance between the driver's location and thereference location. The distance between the driver and the referencelocation may be compared with a threshold distance, and the speed may becompared with a threshold speed. The threshold distance may be 5 m, 10m, 20 m, 50 m, 100 m, 200 m, or any other values. The threshold speedmay be 5 km/h, 8 km/h, 10 km/h, 15 km/h, 20 km/h, or any other values.According to the comparison result, the mobile device may determine thestatus of the driver. In some embodiments, the mobile device may notrecord the speed of the driver at traffic lights and may not compare itwith the threshold speed.

For example, if the distance between the driver and the referencelocation is greater than the threshold distance, the driver may bedetermined to be in a first status, i.e. far from the reference locationand not ready to pick up the passenger. If the distance between thedriver and the reference location is less than the threshold distanceand the speed of the driver is greater than the threshold speed, thedriver may be determined to be in a second status, i.e. close to thereference location but not ready to pick up the passenger. If thedistance between the driver and the reference location is less than thethreshold distance and the speed of the driver is less than thethreshold speed, the driver may be determined to be in a third status,i.e. close to the reference location and ready to pick up the passenger.

Upon determining that the driver is close to the reference location andready to pick up the passenger (e.g. the driver changes from the firststatus or the second status to the third status), the mobile device mayperform a first predetermined action. The first predetermined action maybe similar to those described in Example 1 and is not repeated here.

When the driver picks up the passenger or when the mobile devicedetermines that the driver is far from the reference location (e.g. thedriver changes from the third status to the first status) the mobiledevice may perform a second predetermined action. The secondpredetermined action may be similar to those described in Example 1 andis not repeated here.

Example 3

On the basis of Example 2, after obtaining the speed of the driver andthe distance between the driver's location and the reference location,the mobile device may calculate the time required to arrive at thereference location based on the speed and the distance. Alternatively,the required time may be obtained based on the distance and an averagespeed of the driver or a preset speed corresponding to the type of road.For example, the preset speed may be 100 km/h in highways and 60 km/h incity roads. An estimated arrival time may further be obtained based onthe required time and the current time. Instead of comparing the speedand distance with the threshold values, the mobile device may comparethe required time with a threshold time. The threshold time may be 1min, 2 min, 5 min, 10 min, 15 min, 20 min, 30 min, or any other values.Based on the comparison result, the mobile device may determine thestatus of the driver. For example, if the required time or arrival timeis greater than the threshold time, the driver may be determined to bein a first status, i.e. still on his way. Otherwise, the driver may bedetermined to be in a second status, i.e. arriving soon.

Upon determining that the driver arrives at the reference location soon(e.g. the driver changes from the first status or the second status tothe third status), the mobile device may perform a first predeterminedaction. The first predetermined action may be similar to those describedin Example 1 and is not repeated here. When the driver picks up thepassenger the mobile device may perform a second predetermined action.The second predetermined action may be similar to those described inExample 1 and is not repeated here.

Example 4

In a car hailing service, a passenger may have a mobile device thatimplements the methods disclosed in present application. At first, thepassenger may send a service request to a driver via the mobile device.The service request may include a current location (also referred to asa reference location) of the passenger and a destination. Once thedriver accepts the service request, the mobile device may obtain thecurrent location of the driver and display a route from the driver'scurrent location to the reference location. The mobile device maycontinuously or periodically update and display the driver's currentlocation on the mobile device. The mobile device may also obtain thedistance between the driver and the reference location. The mobiledevice may also obtain the required time and display it to thepassenger. The method of obtaining required time and time of arrival maybe similar to those described in example 3 and is not repeated. In someembodiments, the mobile device of the passenger may also obtain a speed,an acceleration, a direction, etc.

The distance between the driver and the reference location may becompared with a threshold distance. The threshold distance may be 5 m,10 m, 20 m, 50 m, 100 m, 200 m, or any other values. According to thecomparison result, the mobile device may determine the status of thedriver. For example, if the distance between the driver and thereference location is greater than the threshold distance, the drivermay be determined to be in a first status, i.e. far from the referencelocation. Otherwise, the driver may be determined to be in a secondstatus, i.e. close to the reference location.

Upon determining that the driver is close to the reference location(e.g. the driver changes from the first status to the second status),the mobile device may perform a first predetermined action. The firstpredetermined action may include notifying the passenger by vibration,light and/or sound. After receiving the notification, the passenger maygo outside and wait the driver. The amplitude and frequency ofvibration, the intensity and color of light and/or the loudness andfrequency of sound may vary based on the distance between the driver andthe reference location. More particularly, the amplitude or frequency ofvibration, the intensity and color of light and/or the loudness andfrequency of sound may be inversely proportional to the distance.

When the passenger is picked up, the notification of the mobile device(e.g. vibration, light, and/or sound) may be stopped. The mobile devicemay also display a route from the reference location or the locationwhere the passenger is picked up to the destination.

Example 5

In a car hailing service, after a passenger is picked up, a driver'smobile device may display a route from the pick-up location to thedestination. The mobile device may continuously or periodically obtainthe distance between the driver and the destination when the driver isdriving to the destination. Additionally, the mobile device may alsoobtain a speed, an acceleration, a direction, a required time, anarrival time, etc.

Taking distance as an example, the mobile device may compare thedistance between the driver and the destination with a thresholddistance. According to the comparison result, the mobile device maydetermine the status of the driver. For example, if the distance betweenthe driver and the destination is greater than the threshold distance,the driver may be determined to be in a first status, i.e. far from thedestination. Otherwise, the driver may be determined to be in a secondstatus, i.e. close to the destination.

Upon determining that the driver is close to the destination (e.g. thedriver changes from the first status to the second status), the mobiledevice may perform a first predetermined action. The first predeterminedaction may be similar to those described in Example 1 and is notrepeated here. When the driver arrives the destination or when the carhailing service request is completed, the mobile device may perform asecond predetermined action. The second predetermined action may besimilar to those described in Example 1 and is not repeated here.

It should be understood that the passenger's mobile device may implementsimilar or same process as the driver's device in Example 5. Forexample, the mobile device may display a map under a perspective view tothe passenger when he is close to the destination.

In some embodiments, when the car hailing service request is completed,the mobile device may display the recommendation information around thedestination to the passenger. The recommendation information may includeinformation about buildings, sceneries, streets, stations, rivers,mountains, etc. Different information may be displayed in differentcolors and formats on the mobile device. If the passenger chooses any ofthe buildings, sceneries, streets, stations, rivers, mountains, etc.,its detailed information and/or picture may be provided to thepassenger. A route (e.g. a walking route) from the destination to thechosen place may also be displayed to the passenger.

Example 6

During a journey, a driver may have a mobile device that implements themethods disclosed in present application. At first, the driver may inputa destination of the journey (e.g. yellow stone national park or aparticular region thereof) to the mobile device. The mobile device mayobtain a current location of the driver and display a route from thecurrent location of the driver to the destination. The mobile device maycontinuously or periodically obtain speed of the driver and the distancebetween the current location of the driver and the destination.

Similar to Example 2, the mobile device may compare the speed anddistance with a threshold speed and a threshold distance. Based on thecomparison result, the mobile device may determine the status of thedriver. For example, if the distance between the driver and thedestination is greater than the threshold distance, the driver isdetermined to be in a first status, i.e. far from the destination. Ifthe distance between the driver and the destination is less than thethreshold distance and the speed is greater than the threshold speed,the driver is determined to be in a second status, i.e. close to thedestination but not ready to park. For example, a second status mayoccur in a situation that the driver arrives at his destination (e.g.yellow stone nation park), but the sceneries nearby are not what helikes. If the distance between the driver and the destination is lessthan the threshold distance and the speed is less than the thresholdspeed, the driver is determined to be in a third status, i.e. close tothe destination and ready to park.

Upon determining that the driver changes from the first status to thesecond status (e.g. the driver is close to the destination), the mobiledevice may notify the driver by vibration, light or sound. The method ofnotification may be similar to those disclosed in Example 1 and is notrepeated here. Upon determining that the driver changes from the secondstatus to the third status (e.g. the driver wants to park), the mobiledevice may change from displaying a map under a plan view to aperspective view. The mobile device may also display and highlightrecommendation information around the destination or the currentlocation on the map.

It should be understood that the mobile device may change the view ofmap and/or display and highlight the recommendation information upondetermining that the driver changes from the first status to the secondstatus. It should also be understood that the mobile device may notifythe driver, change the view of map and/or display and highlight therecommendation information upon determining that the driver changesdirectly from the first status to the third status.

Example 7

The method disclosed in Examples 1-4 may be applied in an item/fooddelivery service. For example, a customer may be notified when thedelivery man arrives or are arriving and may then collect the foodwithout waiting outside. Therefore, the waiting time of both thecustomer and the delivery man are reduced and the whole service becomessmooth and easy.

Example 8

The method disclosed in Examples 1-5 may be applied in a hitchhikingservice. For example, a driver may pick up multiple passengers atmultiple reference locations and deliver them to multiple destinationsrespectively. The mobile device of the driver may repeatedly perform theprocess disclosed in Examples 1-5 when he pick up or deliver each of thepassengers. The mobile device may also generate multiple routes based onthe reference locations and destinations.

Example 9

The method disclosed in Examples 1-8 may be applied to people takingdifferent transportation means, including but not limiting to buses,bikes, trains, cars, planes, underground, etc. For example, when a bikerider arrives at his destination, his mobile device may displayinformation about a parking lot nearby. For another example, a persontaking underground may be notified by his mobile device when he is closeto a destination or an interchange station.

Example 10

A server (or remote processor) may communicate with a mobile device of adriver and/or a mobile device of a passenger via a wireless network. Theserver may generate instructions. The instructions may be transmitted toa mobile device of a driver and/or a mobile device of a passenger tomake the mobile device(s) implement processes disclosed in Examples 1-6.For example, the server may send an instruction of displaying a map tothe mobile device, and the mobile device may then display the map to thedriver or passenger. Also, part or all operations of the processesdisclosed in Examples 1-6 may be performed by the server. For example,the server or remote processor may obtain the location of the driver andpassenger and may calculate the distance between the driver and thepassenger (or the distance between the driver and the referencelocation). The calculated distance may then be sent to the driver and/orpassenger. For another example, the server may generate a route from thedriver to the reference location and send the route to the driver's orpassenger's mobile device. Then the route may be displayed to the driveror passenger respectively.

Having thus described the basic concepts, it may be rather apparent tothose skilled in the art after reading this detailed disclosure that theforegoing detailed disclosure is intended to be presented by way ofexample only and is not limiting. Various alterations, improvements, andmodifications may occur and are intended to those skilled in the art,though not expressly stated herein. These alterations, improvements, andmodifications are intended to be suggested by this disclosure, and arewithin the spirit and scope of the exemplary embodiments of thisdisclosure.

Moreover, certain terminology has been used to describe embodiments ofthe present disclosure. For example, the terms “one embodiment,” “anembodiment,” and/or “some embodiments” mean that a particular feature,structure or characteristic described in connection with the embodimentis included in at least one embodiment of the present disclosure.Therefore, it is emphasized and should be appreciated that two or morereferences to “an embodiment” or “one embodiment” or “an alternativeembodiment” in various portions of this specification are notnecessarily all referring to the same embodiment. Furthermore, theparticular features, structures or characteristics may be combined assuitable in one or more embodiments of the present disclosure.

Further, it will be appreciated by one skilled in the art, aspects ofthe present disclosure may be illustrated and described herein in any ofa number of patentable classes or context including any new and usefulprocess, machine, manufacture, or composition of matter, or any new anduseful improvement thereof. Accordingly, aspects of the presentdisclosure may be implemented entirely hardware, entirely software(including firmware, resident software, micro-code, etc.) or combiningsoftware and hardware implementation that may all generally be referredto herein as a “unit,” “module,” or “system.” Furthermore, aspects ofthe present disclosure may take the form of a computer program productembodied in one or more computer readable media having computer readableprogram code embodied thereon.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including electro-magnetic, optical, or thelike, or any suitable combination thereof. A computer readable signalmedium may be any computer readable medium that is not a computerreadable storage medium and that may communicate, propagate, ortransport a program for use by or in connection with an instructionexecution system, apparatus, or device. Program code embodied on acomputer readable signal medium may be transmitted using any appropriatemedium, including wireless, wireline, optical fiber cable, RF, or thelike, or any suitable combination of the foregoing.

Computer program code for carrying out operations for aspects of thepresent disclosure may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C #, VB.NET, Python or the like, conventional procedural programming languages,such as the “C” programming language, Visual Basic, Fortran 2003, Perl,COBOL 2002, PHP, ABAP, dynamic programming languages such as Python,Ruby and Groovy, or other programming languages. The program code mayexecute entirely on the user's computer, partly on the user's computer,as a stand-alone software package, partly on the user's computer andpartly on a remote computer or entirely on the remote computer orserver. In the latter scenario, the remote computer may be connected tothe user's computer through any type of network, including a local areanetwork (LAN) or a wide area network (WAN), or the connection may bemade to an external computer (for example, through the Internet using anInternet Service Provider) or in a cloud computing environment oroffered as a service such as a Software as a Service (SaaS).

Furthermore, the recited order of processing elements or sequences, orthe use of numbers, letters, or other designations therefore, is notintended to limit the claimed processes and methods to any order exceptas may be specified in the claims. Although the above disclosurediscusses through various examples what is currently considered to be avariety of useful embodiments of the disclosure, it is to be understoodthat such detail is solely for that purpose, and that the appendedclaims are not limited to the disclosed embodiments, but, on thecontrary, are intended to cover modifications and equivalentarrangements that are within the spirit and scope of the disclosedembodiments. For example, although the implementation of variouscomponents described above may be embodied in a hardware device, it mayalso be implemented as a software only solution, e.g., an installationon an existing server or mobile device.

Similarly, it should be appreciated that in the foregoing description ofembodiments of the present disclosure, various features are sometimesgrouped together in a single embodiment, figure, or description thereoffor the purpose of streamlining the disclosure aiding in theunderstanding of one or more of the various embodiments. This method ofdisclosure, however, is not to be interpreted as reflecting an intentionthat the claimed subject matter requires more features than areexpressly recited in each claim. Rather, claimed subject matter may liein less than all features of a single foregoing disclosed embodiment.

We claim:
 1. A system to determine an operation status of an electronicdevice, comprising an electronic device, the electronic deviceincluding: a circuit configured to receive a location of the system froma positioning system; a display to display location information of thesystem; a bus; at least one storage medium connected to the bus andincluding a set of instructions for switching operation mode based onstatus change; and logic circuits in communication with the at least onestorage medium via the bus, wherein when executing the set ofinstructions, the logic circuits are directed to: obtain firstelectronic signals encoding location information associated with theelectronic device with respect to a reference location, wherein thelocation information includes a distance between a current location andthe reference location and a speed of the electronic device; obtain anestimated required time to get the reference location based on thedistance and the speed of the electronic device; determine whether astatus of the electronic device changes from a first status to a secondstatus based on one or more threshold required times and the estimatedrequired time; and upon determining that the status of the electronicdevice changes from the first status to the second status, perform apredetermined action.
 2. The system of claim 1, wherein the status ofthe electronic device further includes a distance between the electronicdevice and the reference location; the first status includes thedistance being longer than a threshold distance; and the second statusincludes the distance being shorter than the threshold distance.
 3. Thesystem of claim 1, wherein the status of the electronic device furtherincludes a distance between the electronic device and the referencelocation; the first status includes the distance being shorter than athreshold distance; and the second status includes the distance beinglonger than the threshold distance.
 4. The system of claim 1, whereinthe status of the electronic device further includes a speed of theelectronic device; the first status includes the speed being slower thana threshold speed; and the second status includes the speed being fasterthan the threshold speed.
 5. The system of claim 1, wherein the statusof the electronic device further includes a speed of the electronicdevice; the first status includes the speed being faster than athreshold speed; and the second status includes the speed being slowerthan the threshold speed.
 6. The system of claim 1, wherein theelectronic device is further configured to display a map under a planview; the predetermined action includes changing from displaying the mapunder the plan view to displaying the map under a perspective view. 7.The system of claim 1, wherein the electronic device is furtherconfigured to display a map under a perspective view; the predeterminedaction includes changing from displaying the map under the perspectiveview to displaying the map under a plan view.
 8. The system of claim 1,wherein the electronic device is further configured to display a map;the predetermined action includes: obtaining second electronic signalsencoding recommendation information around the reference location, anddisplaying and highlighting the recommendation information on the map.9. The system of claim 8, wherein the recommendation information is oneor more locations along a route between the current location and thereference location or around the reference location, and wherein theelectronic device is further configured to rank the one or morelocations based on one or more ranking criteria; and display therecommendation information of the one or more locations based on theranking result.
 10. The system of claim 1, wherein the electronic deviceis further configured to generate a vibration; wherein the predeterminedaction includes changing frequency of the vibration.
 11. A method todetermine an operation status of an electronic device, comprising:obtaining, by the electronic device, first electronic signals encodinglocation information associated with the electronic device with respectto a reference location, wherein the location information includes adistance between a current location and the reference location and aspeed of the electronic device; obtaining, by the electronic device, anestimated required time to get the reference location based on thedistance and the speed of the electronic device; determining, by theelectronic device, whether a status of the electronic device changesfrom a first status to a second status based on one or more thresholdrequired times and the estimated required time; and upon determiningthat the status of the electronic device changes from the first statusto the second status, performing, by the electronic device, apredetermined action.
 12. The method of claim 11, wherein the status ofthe electronic device further includes a distance between the electronicdevice and the reference location; the first status includes thedistance being longer than a threshold distance; and the second statusincludes the distance being shorter than the threshold distance.
 13. Themethod of claim 11, wherein the status of the electronic device furtherincludes a distance between the electronic device and the referencelocation; the first status includes the distance being shorter than athreshold distance; and the second status includes the distance beinglonger than the threshold distance.
 14. The method of claim 11, whereinthe status of the electronic device further includes a speed of theelectronic device; the first status includes the speed being slower thana threshold speed; and the second status includes the speed being fasterthan the threshold speed.
 15. The method of claim 11, wherein the statusof the electronic device further includes a speed of the electronicdevice; the first status includes the speed being faster than athreshold speed; and the second status includes the speed being slowerthan the threshold speed.
 16. The method of claim 11, further comprisingdisplaying, by the electronic device, a map under a plan view; thepredetermined action includes changing from displaying the map under theplan view to displaying the map under a perspective view.
 17. The methodof claim 11, further comprising displaying, by the electronic device, amap under a perspective view; the predetermined action includes changingfrom displaying the map under the perspective view to displaying the mapunder a plan view.
 18. The method of claim 11, further comprisingdisplaying, by the electronic device, a map; the predetermined actionincludes: obtaining second electronic signals encoding recommendationinformation around the reference location, and displaying andhighlighting the recommendation information on the map.
 19. The methodof claim 11, wherein the electronic device is a mobile device associatedwith a passenger waiting for a vehicle driver, and the referencelocation is associated with the vehicle driver moving towards thepassenger.
 20. A non-transitory computer readable medium, comprisingexecutable instructions that, when executed by an electronic device,directs the electronic device to perform actions of: obtainingelectronic signals encoding location information associated with theelectronic device with respect to a reference location, wherein thelocation information includes a distance between a current location andthe reference location and a speed of the electronic device; obtainingan estimated required time to get the reference location based on thedistance and the speed of the electronic device; determining whether astatus of the electronic device changes from a first status to a secondstatus based on one or more threshold required times and the estimatedrequired time; and upon determining that the status of the electronicdevice changes from the first status to the second status, performing apredetermined action.